iT邦幫忙

2022 iThome 鐵人賽

DAY 6
0
Software Development

Web專案建置雜談系列 第 6

Web專案建置雜談 - MQTT 與 Redis 建立發佈系統

  • 分享至 

  • xImage
  •  

由於之前的工作上常常會接觸到智慧家庭相關的內容,對於這種IOT相關的通訊協定常常會用到MQTT,包含一些公司的產品甚至也都會直接支援這些協定(研華的相關IOT設備),在使用上也常常會與Redis這樣的cache進行搭配使用,去記錄每一些系統的狀態。

在撰寫相關功能的時候,尤其是智慧家庭或IOT的案件,有一種設計模式很常被用到就是發佈/訂閱(Publisher/Subscriber) 模式,其實就有點像訂報紙的概念,當你有希望得知某一些訊息的時候你會向報社訂閱報紙來獲資訊,報社其實就是broker的位置,那麼我們這些客戶就是訂閱者(Subscriber),而撰稿的人就會是發佈者(Publisher)。
訂閱者和發佈者中間並不會有直接的接觸,而是透過一個中轉站(broker)進行資訊的配送。

那麼通常甚麼樣的狀況會需要這樣的方式來獲取資訊呢?例如:電燈的開關狀態,狀態訊息的推送或廣播系統。一些需要鬆偶合的場景。來傳遞一些物件的狀態是非常有效率的。

而在系統中我自己有用過的有

  • MQTT
  • Redis

這兩個其實都有支持這樣的設計,Redis裡面對於key值有支援pub/sub,MQTT更是本身就是為了此而發明出來的通訊協定。

reference:

  1. https://zh.wikipedia.org/zh-tw/MQTT
  2. https://zh.wikipedia.org/wiki/Redis
  3. https://zh.wikipedia.org/zh-tw/%E5%8F%91%E5%B8%83/%E8%AE%A2%E9%98%85

上一篇
Web專案建置雜談 - SQL server 評估
下一篇
Web專案建置雜談 - docker
系列文
Web專案建置雜談30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言